// Token的key名称
const TokenKey = 'admin_netShop_token';

/**
 * @description 存储token值
 * @param {String} token token值
 * @param {Boolean} sync 标识，=true：同步(默认)，=false：异步  
 */
export const setToken = function (token, sync = true) {
	setItem(TokenKey, token, sync);
}

/**
 * @description 获取token
 * @return {String} token值
 * @param {Boolean} sync 标识，=true：同步(默认)，=false：异步
 */
export const getToken = function (sync = true) {
	return getItem(TokenKey, sync, true);
}

/**
 * @description 移除token值 
 * @param {Boolean} sync 标识，=true：同步(默认)，=false：异步
 */
export const removeToken = function (sync = true) {
	removeItem(TokenKey, sync);
}


/**
 * @description 读取
 * @param {String} key key名称
 * @param {Boolean} sync 标识，=true：同步(默认)，=false：异步
 * @param {Boolean} 值类型标识，=true：基本类型值(缺省)，=false:对象类型值  
 */
export const getItem = function (key, sync = true, flag = true) {
	let data = null;
	try {
		if (sync) {
			data = sessionStorage.getItem(key);
			return (flag ? data : JSON.parse(data));
		}
	} catch (e) {
		return '获取token失败';
	}

}

/**
 * @description 存储
 * @param {String} key key名称
 * @param {Object} value 值
 * @param {Boolean} sync 标识，=true：同步(默认)，=false：异步
 */
export const setItem = function (key, value, sync = true) {
	let temp = value;
	if (typeof temp === 'object') {
		temp = JSON.stringify(temp);
	}
	if (sync) {
		return sessionStorage.setItem(key, temp);
	}
}


/**
 * @description 移除指定key的值
 * @param {String} key key名称
 * @param {Boolean} sync 标识，=true：同步(默认)，=false：异步
 */
export const removeItem = function (key, sync = true) {
	try {
		if (sync) {
			return sessionStorage.removeItem(key);
		}
	} catch (e) { }
}